package com.hxd.charitysystem.base.common;

import android.app.Application;
import cn.bingoogolapple.swipebacklayout.BGASwipeBackHelper;
import com.hjq.toast.ToastUtils;
import com.hxd.charitysystem.image.ImageLoader;
import com.kongzue.dialog.util.DialogSettings;
import com.xuexiang.xui.XUI;
import com.xuexiang.xutil.XUtil;

/**
 *    author : Android 轮子哥
 *    github : https://github.com/getActivity/AndroidProject
 *    time   : 2018/10/18
 *    desc   : 项目中的Application基类
 */
public class MyApplication extends Application {


    @Override
    public void onCreate() {
        super.onCreate();
        initSDK(this);
    }

    /**
     * 初始化一些第三方框架
     */
    public static void initSDK(Application application) {
        /**
         * 必须在 Application 的 onCreate 方法中执行 BGASwipeBackHelper.init 来初始化滑动返回
         * 第一个参数：应用程序上下文
         * 第二个参数：如果发现滑动返回后立即触摸界面时应用崩溃，请把该界面里比较特殊的 View 的 class 添加到该集合中，目前在库中已经添加了 WebView 和 SurfaceView
         */
        BGASwipeBackHelper.init(application, null);

        // 初始化吐司工具类
        ToastUtils.init(application);

        // 初始化图片加载器
        ImageLoader.init(application);

        XUI.init(application);
        XUtil.init(application);

        initDialogData();

//        if (LeakCanary.isInAnalyzerProcess(this)) {
//            // This process is dedicated to LeakCanary for heap analysis.
//            // You should not init your app in this process.
//            return;
//        }
//        LeakCanary.install(this);

    }

    private static void initDialogData(){
        DialogSettings.isUseBlur = (true);               //是否开启模糊效果，默认关闭
        DialogSettings.style = (DialogSettings.style.STYLE_IOS);      //全局主题风格，提供三种可选风格，STYLE_MATERIAL, STYLE_KONGZUE, STYLE_IOS
        DialogSettings.theme = (DialogSettings.theme.LIGHT);      //全局对话框明暗风格，提供两种可选主题，LIGHT, DARK
        DialogSettings.tipTheme = (DialogSettings.theme.LIGHT);   //全局提示框明暗风格，提供两种可选主题，LIGHT, DARK
        DialogSettings.cancelable = (true);              //全局对话框默认是否可以点击外围遮罩区域或返回键关闭，此开关不影响提示框（TipDialog）以及等待框（TipDialog）
        DialogSettings.cancelableTipDialog = (false);     //全局提示框及等待框（WaitDialog、TipDialog）默认是否可以关闭
        DialogSettings.DEBUGMODE = (false);               //是否允许打印日志
        DialogSettings.blurAlpha = (125);                   //开启模糊后的透明度（0~255）
    }



}